# !/usr/bin/env python
# -*- coding:utf-8 -*-
# @FileName  :constants.py
# @Time      :2022/6/8 8:50
# @Author    :张志坤

# 设置有效期

import random


class BaseCacheTTL(object):
    """
    缓存有效期
    防止缓存雪崩问题  ,  设置有效期采用不同的方案
    通过增加随机值实现
    """
    TTL = 0  # 子类设置
    MAX_DELTA = 10 * 60  # 随机的增量上限

    # 定义类方法
    @classmethod
    def get_val(cls):
        return cls.TTL + random.randrange(0, cls.MAX_DELTA)


class UserProfileCacheTTL(BaseCacheTTL):
    """
    用户资料数据缓存时间  秒
    """
    TTL = 30 * 60


class UserNewsCacheTTL(BaseCacheTTL):
    """
    爆款文章的缓存事件   秒
    """
    TTL = 3 * 60 * 60 * 24
